The Internet is a vast computer network consisting of many smaller networks that span the entire world. A network provides a distributed communicating system of computers that are interconnected by various electronic communication links and computer software protocols. Because of the Internet's distributed and open network architecture, it is possible to transfer data from one computer to any other computer worldwide. In 1991, the World-Wide-Web (WWW or Web) revolutionized the way information is managed and distributed.
The Web is based on the concept of hypertext and a transfer method known as Hypertext Transfer Protocol (HTTP) which is designed to run primarily over a Transmission Control Protocol/Internet Protocol (TCP/IP) connection that employs a standard Internet setup. A server computer may issue the data and a client computer displays or processes it. TCP may then convert messages into streams of packets at the source, then reassemble them back into messages at the destination. Internet Protocol (IP) handles addressing, seeing to it that packets are routed across multiple nodes and even across multiple networks with multiple standards. HTTP protocol permits client systems connected to the Internet to access independent and geographically scattered server systems also connected to the Internet.
Client side browsers, such as Netscape Navigator and/or Microsoft Internet Explorer (MSIE) provide graphical user interface (GUI) based client applications that implement the client side portion of the HTTP protocol. One format for information transfer is to create documents using Hypertext Markup Language (HTML). HTML pages are made up of standard text as well as formatting codes that indicate how the page should be displayed. The client side browser reads these codes in order to display the page. A web page may be static and requires no variables to display information or link to other predetermined web pages. A web page is dynamic when arguments are passed which are either hidden in the web page or entered from a client browser to supply the necessary inputs displayed on the web page. Common Gateway Interface (CGI) is a standard for running external programs from a web server. CGI specifies how to pass arguments to the executing program as part of the HTTP server request. Commonly, a CGI script may take the name and value arguments from an input form of a first web page which is be used as a query to access a database server and generate an HTML web page with customized data results as output that is passed back to the client browser for display.
The Web is a means of accessing information on the Internet that allows a user to “surf the web” and navigate the Internet resources intuitively, without technical knowledge. The Web dispenses with command-line utilities, which typically require a user to transmit sets of commands to communicate with an Internet server. Instead, the Web is made up of millions of interconnected web pages, or documents, which may be displayed. Hosts running special servers provide the Web pages. Software that runs these Web servers is relatively simple and is available on a wide range of computer platforms including PC's. Equally available is a form of client software, known as a Web browser, which is used to display Web pages as well as traditional non-Web files on the client system.
A network resource identifier such as a Uniform Resource Identifier (URI) is a compact string of characters for identifying an abstract or physical resource. URIs are the generic set of all names and addresses that refer to objects on the Internet. URIs that refer to objects accessed with existing protocols are known as Uniform Resource Locators (URLs). A URL is the address of a file accessible on the Internet. The URL contains the name of the protocol required to access the resource, a domain name, or IP address that identifies a specific computer on the Internet, and a hierarchical description of a file location on the computer. For example the URL “http://www.example.com/index.html”, where “http” is the scheme or protocol, “www.example.com” is the Fully Qualified Domain Name (FQDN), and “index.html” is the filename located on the server.
As new information is periodically published on a network such as the Internet, a common method for updating a user, subscriber, or client system of such information is to send notification to the subscriber from the source of the update. However, there are many sources that publish new or updated information only and make no acknowledgment of the newly available information. For instance, it is the responsibility of government to disseminate public information. However it is not a requirement for government to advertise or market such publications creating opportunity for the private sector to take initiative and add value to public information by repackaging, advertising, marketing, or further distributing such information. As government information is released periodically into the public domain, it is upon the public to periodically check exactly when the new information has been updated.
This applies to any information that is released or updated that puts a burden on those interested in such new information, particularly to such information made newly available over a network. A user must initiate periodic requests to see if and when a new update is available. An inherent problem with the Internet is that the available information is distributed through a “pull” type infrastructure, where the user who wants to receive information must manually search sites of interest, or use a finder application, to search and download appropriate information. Listed below are improvements to this type of “pull” methodology.
Netscape improved HTML language to extend the use of the META tag to constantly refresh a resource for a given time interval.
<META HTTP-EQUIV=“Refresh” CONTENT=“60; URL=http://example.com/news.htm”>
This META tag instructs the client browser to retrieve a file called “news.htm” from a server called “example.com” every 60 seconds. Though information can be automatically updated, this improvement only applies to the current URL and is known as a “periodic pull” method, which is still not truly a “push” method of information retrieval. Listed below are examples of how a “push” method is used for notification.
U.S. Pat. No. 5,790,790 issued on Aug. 4, 1998, by Smith, et al. and assigned to Tumbleweed Software Corporation, which is entitled, “Electronic document delivery system in which notification of said electronic document is sent to a recipient thereof” is a system that controls the delivery of portable documents from a sender to a large number of recipients, using a network of servers that route the documents and notifications in a store and forward manner, while providing routing and accounting information back to the sender. However, the '790 patent relies on the intent for a provider to notify a subscriber, which does not solve the problem of providers who do not make attempts at notification.
U.S. Pat. No. 5,933,604 issued on Aug. 3, 1999, by Inakoshi and assigned to Fujitsu Limited, which is entitled, “Network resource monitoring system and method for providing notice of changes in resources in a network” is a system that periodically accesses a resource such as a home page to detect when the existing resource has been updated and then notifies a user of such a change. However, the '604 patent relies on monitoring existing resources only and does not contemplate the monitoring of resources which do not yet exist or intermittently exist.
The prior art clearly demonstrates the need for a system to notify users of new resources that do not exist as of yet. Accordingly, in light of the above, there is a strong need in the art for a system to notify users when new resources are available on a network regardless of whether the publishing source of such a resource notifies the user.